#pragma once
#include "XCAPXMLWrapper.h"
#include "XMLWrappeCommon.h"

class CXCAPResourceListsWrapper: public CXCAPXMLWrapper
{
public:
	CXCAPResourceListsWrapper(std::string auid, std::string document_name, std::string mime_type);
	virtual XMLTreeAccessResult GetGroupList(group_vector& sv) = 0;
	virtual XMLTreeAccessResult GetBuddyList(const GroupEntry& group, buddy_vector& bv) = 0;

	virtual XMLTreeAccessResult AddGroup(const GroupEntry& group) = 0;
	virtual XMLTreeAccessResult ModifyGroup(const GroupEntry& group) = 0;
	virtual XMLTreeAccessResult RemoveGroup(const GroupEntry& group) = 0;

	virtual XMLTreeAccessResult AddBuddy(const GroupEntry& group, const BuddyEntry& buddy) = 0;
	virtual XMLTreeAccessResult ModifyBuddy(const GroupEntry& group, const BuddyEntry& buddy) = 0;
	virtual XMLTreeAccessResult RemoveBuddy(const GroupEntry& group, const BuddyEntry& buddy) = 0;
public:
	virtual ~CXCAPResourceListsWrapper(void);
};
